/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Negocio;

import java.util.Date;

/**
 *
 * @author marcel
 */
public class TelefoneComercial extends Telefone{
    private int qtdRamais;
    private static Date dataBase; // atributo de classe

    public TelefoneComercial(String nome, String numero,
                    String endereco, Date data,
                    int ramais){
        super(nome, numero, endereco, data);
        this.setQtdRamais(ramais);
    }

    protected void finalize() {
        System.out.println("Telefone comercial "+this.getNumero());
    }

    public String toString() {
        return "Telefone comercial "+this.getNumero()
                +" de "+this.getNomeUsuario()
                +"\n instalado em "+this.endereco // para exemplificar o acesso ao atributo, pois é protegido
                +"\n na data "+formatador.format(this.getDataInstalacao())
                +"com  "+this.qtdRamais+" ramais."
                +"\nValor Básico = R$"+this.getValorBasico();
    }

    public static void setDataBase(Date data){
        TelefoneComercial.dataBase = data;
    }


    /**
     * @return the qtdRamais
     */
    public int getQtdRamais() {
        return qtdRamais;
    }

    /**
     * @param qtdRamais the qtdRamais to set
     */
    public void setQtdRamais(int qtdRamais) {
        if (qtdRamais < 0)
            throw new IllegalArgumentException("Quantidade inválida de ramais");
        this.qtdRamais = qtdRamais;
    }

    @Override
    public float getValorBasico() {
        if (this.getDataInstalacao().before(dataBase))
            return 25f;
        else
            return 37.50f;
    }


}
